<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Login_model extends CI_Model {
	const TBL_Admin = 'admin';

	/**
	 * 函数：获取管理员列表
	 * @param array $keyword 模糊查询
	 * @param int $limit 每页显示数
	 * @param int $offset 偏移量
	 * @return array
	 */
	public function getAdminList($keyword = '',$limit, $offset) {
		if (empty($keyword)) {
			return $this -> db -> order_by('addtime', 'DESC') -> limit($limit, $offset) -> get(self::TBL_Admin) -> result_array();
		} else {
			return $this -> db -> like('username', $keyword) -> or_like('email', $keyword) -> or_like('number', $keyword) -> order_by('addtime', 'DESC') -> limit($limit, $offset) -> get(self::TBL_Admin) -> result_array();
		}
	}

	/**
	 * 函数：获取管理员数量
	 * @return int 管理员总数
	 */
	public function getAdminCount() {
		return $this -> db -> count_all(self::TBL_Admin);
	}

	/**
	 * 函数：获取当前管理员
	 * @param int $id 管理员id
	 * @return array
	 */
	public function getAdminInfo($id) {
		$res=$this -> db -> get_where(self::TBL_Admin, array('id' => $id))->result();
		return $res && !empty($res)? $res[0] : '';
	}

	/**
	 * 函数：验证管理员信息
	 * @param int $username 管理员用户名
	 * @return array
	 */
	public function getAdminUsername($username) {
		$res=$this -> db -> get_where(self::TBL_Admin, array('username' => $username))->result();
		return $res && !empty($res)? $res[0] : '';
	}

	/**
	 * 函数：管理员数量信息操作
	 * @param int $id 管理员id
	 * @param int $field 操作字段
	 * @param int $value 值
	 * @return array
	 */
	public function operationAdmin($id,$value,$field) {
		$this->db->set($field, $value, FALSE);
		$this->db->where('id', $id);
		return $this->db->update(self::TBL_Admin);
	}
	/**
	 * 函数：插入管理员信息
	 * @param array $params 管理员信息
	 * @return bool
	 */
	public function insertAdmin($params) {
		return $this -> db -> insert(self::TBL_Admin, $params);
	}

	/**
	 * 函数：修改管理员信息
	 * @param int $id 管理员id
	 * @param array $params 管理员信息
	 * @return bool
	 */
	public function updateAdmin($id, $params) {
		$condition['id'] = $id;
		return $this -> db -> where($condition) -> update(self::TBL_Admin, $params);
	}
}
